RE:sobrecargar el operador >>
Que Tal!!!
Pues viendo el ejemplo que pusiste no tenia porque haberte marcado error. Quiza te haya faltado poner la libreria <iostream.h>.
De todos modos te dejo un ejemplo 100% probado para que tengas una referencia.
Espero Te Sirva!!
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
// Archivo .h
#ifndef punto_H
#define punto_H
#include <iostream.h>
class punto
{
friend ostream & operator << ( ostream &, const punto & );
friend istream & operator >> ( istream &, punto & );
public:
punto( void );
~punto();
protected:
int x;
int y;
};
#endif
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
// Archivo .cpp
#include "punto.h"
/**********************************************/
/***** Constructor Predeterminado *****/
/**********************************************/
punto::punto( void )
{
x = 0;
y = 0;
}
/******************************/
/***** Destructor *****/
/******************************/
punto::~punto()
{
}
/*************************************************************/
/***** Imprime En Pantalla Los Valores Del punto *****/
/*************************************************************/
ostream & operator << ( ostream &output, const punto &print )
{
output << "( x, y ) = ( " << print.x << ", " << print.y << " )" << endl;
return output;
}
/**********************************************************/
/***** Pide En Pantalla Los Valores Del punto *****/
/**********************************************************/
istream & operator >> ( istream &input, punto &Point )
{
cout << " Introduce El Valor De X: ";
input >> Point.x;
cout << " Introduce El Valor De Y: ";
input >> Point.y;
return input;
}
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
// Main
#include "Punto.h"
#include <stdio.h>
#include <conio.h>
void main()
{
punto Nuevo;
cout << Nuevo;
cin >> Nuevo;
cout << Nuevo;
getche();
}